1 SA2 areas

There are 2,310 SA2 areas in Australia. We excluded areas with no physical location (including 9 Migratory–Offshore–Shipping and 9 No usual address codes for each State and Territory). And 4 remote areas:

##                SA2_NAME16        STE_NAME16
## 1        Lord Howe Island   New South Wales
## 2        Christmas Island Other Territories
## 3 Cocos (Keeling) Islands Other Territories
## 4          Norfolk Island Other Territories

That leaves the initial set of 2,288 areas.

2 APM data

2.1 Raw data

Raw APM dataset consists of 119,656 monthly records of 2,238 SA2 areas for 27 months from 2016-12-01to 2019-02-01.

According to APM

All data in the SA2 file is based on 12-month aggregation.

Therefore the first observation in the dataset for the 2016-12-01 actually represents data from 2016-12-01 to 2016-01-01!

Data are derived separately for houses and units. Selected rent related variables include:

## Observations: 119,656
## Variables: 7
## $ SA2_MAIN16    <dbl> 101021007, 101021007, 101021007, 101021007, 101021007...
## $ date          <date> 2016-12-01, 2017-01-01, 2017-02-01, 2017-03-01, 2017...
## $ record_count  <dbl> 45, 45, 48, 45, 48, 47, 43, 47, 47, 49, 47, 47, 46, 4...
## $ property_type <chr> "House", "House", "House", "House", "House", "House",...
## $ rent_50p      <dbl> 330.0, 330.0, 330.0, 330.0, 330.0, 330.0, 335.0, 335....
## $ rent_25p      <dbl> 290, 290, 290, 290, 290, 295, 300, 300, 300, 300, 300...
## $ rent_75p      <dbl> 365, 360, 365, 365, 365, 370, 375, 380, 380, 375, 380...

2.2 SA2 areas

There are 51 SA2 areas that do not exist in APM data at all

Most seem legit as they mainly consists of natural or military areas, airports, etc. They were excluded from further analyses.

2.3 Missing data

Not all SA2s have information for all months. 21,292 of the records (18%) have missing information on monthly median rent.

2.3.1 Completely missing information

2.3.1.1 Houses

There are 123 SA2 areas that do not have any APM data for houses

These areas are excluded.

2.3.1.2 Units

There are 519 SA2 areas that do not have any APM data for units

These areas are excluded.

2.3.2 Partly missing information

2.3.2.1 Houses

There are 24 SA2 areas that have missing 12 or more months of APM data or have 6 or more consecutive months of APM data missing for houses

These areas are excluded.

2.3.2.2 Units

There are 187 SA2 areas that have missing 12 or more months of APM data or have 6 or more consecutive months of APM data missing for units

These areas are excluded.

2.4 Imputing time series

2.4.1 Houses

There are 24 SA2 areas that have some missing APM data for houses

These areas have data imputed.

2.4.2 Units

There are 94 SA2 areas that have some missing APM data for units

These areas have data imputed.

2.4.3 Example

Data imputed using Stineman interpolation using na_interpolation function from imputeTS package.

2.5 Clean data

Clean APM dataset consists of 56,430 monthly records of house rents in2,090 SA2 areas and 41,337 monthly records of unit rents in1,531 SA2 areas.

2.5.1 Houses

State on 2019-02-01

2.5.2 Units

State on 2019-02-01

3 ABS data

3.1 Selection

Stocks of houses and units were derived from 2016 Census for all areas with APM data.

These were created counting dwellings that were private (Occupied private dwellings and Unoccupied private dwellings from the DWTD Dwelling Type variable) and then divided into houses and apratments uing STRD Dwelling Structure variable with:

  • Separate house, Semi-detached, row or terrace house, townhouse etc. with one storey and Semi-detached, row or terrace house, townhouse etc. with two or more storeys representing houses

  • Flat or apartment in a one or two storey block, Flat or apartment in a three storey block, Flat or apartment in a four or more storey block, Flat or apartment attached to a house representing units

3.2 Results

3.3 No ABS units

Note: there are 25 SA2s with zero ABS units, but available APM rental units!

SA2_NAME16 min mean max
Bateman 14 20.259259 24
Beaconsfield - Officer 9 14.444444 20
Brassall 112 128.666667 159
Calwell 7 13.888889 19
College Grove - Carey Park 44 57.407407 66
Coober Pedy 9 13.481481 16
Craigie - Beldon 14 17.296296 20
Dingley Village 11 16.111111 19
Edens Landing - Holmview 28 35.888889 49
Endeavour Hills - South 14 18.888889 25
Lawson 6 49.518518 78
Leeming 11 14.111111 17
Loganholme - Tanah Merah 20 24.666667 28
Marangaroo 8 10.481481 13
Mount Dandenong - Olinda 6 9.962963 14
Murrumba Downs - Griffin 144 178.888889 250
Narangba 11 19.185185 28
Ngunnawal 40 48.444444 57
Padbury 14 19.333333 24
Quoiba - Spreyton 8 12.000000 16
Reedy Creek - Andrews 21 25.481482 31
Ripley 7 16.148148 24
Rosedale 2 9.444444 13
Seabrook 10 11.851852 16
Wakerley 23 30.222222 40

3.4 Discrepancies

Discrepancies between APM and ABS stocks

SA2_NAME16 property_type abs_supply max_record_count apm_surplus
North Ryde - East Ryde Unit 364 692 328
Dakabin - Kallangur Unit 72 368 296
Murrumba Downs - Griffin Unit 0 250 250
Toowoomba - West Unit 28 251 223
Brassall Unit 0 159 159
Lavington Unit 217 372 155
Eimeo - Rural View Unit 26 180 154
Albury - North Unit 32 173 141
Asquith - Mount Colah Unit 175 314 139
Redbank Plains Unit 41 180 139
Shepparton - North Unit 66 200 134
Cambooya - Wyreema Unit 3 133 130
Rouse Hill - Beaumont Hills Unit 140 268 128
Upper Coomera - Willow Vale Unit 8 130 122
Pimpama Unit 4 118 114
Muswellbrook Unit 49 158 109
Pacific Pines - Gaven Unit 4 111 107
Highton Unit 52 148 96
Werribee - East Unit 34 130 96
Rangeville Unit 17 113 96
Tullamarine Unit 8 102 94
Calamvale - Stretton Unit 18 111 93
North Toowoomba - Harlaxton Unit 57 146 89
Busselton Unit 57 144 87
Flora Hill - Spring Gully Unit 41 126 85
East Mackay Unit 19 104 85
Bellbird Park - Brookwater Unit 21 104 83
Burpengary Unit 12 94 82
Boronia Heights - Park Ridge Unit 7 87 80
Caloundra - West Unit 32 112 80
Viewbank - Yallambie Unit 14 93 79
Lawson Unit 0 78 78
Wodonga Unit 129 205 76
Tamworth - East Unit 190 265 75
Belmont Unit 98 172 74
Kellyville Unit 120 193 73
Ringwood East Unit 188 259 71
College Grove - Carey Park Unit 0 66 66
Palmerston - South Unit 52 118 66
Hastings - Somers Unit 47 112 65
Strathmore Unit 27 88 61
Croydon Hills - Warranwood Unit 6 67 61
Laverton Unit 43 104 61
Peregian Springs Unit 22 83 61
Coombabah Unit 7 67 60
Larapinta Unit 22 80 58
Newcomb - Moolap Unit 69 126 57
Ngunnawal Unit 0 57 57
Epping - South Unit 24 79 55
Manly West Unit 20 74 54
Goodna Unit 21 75 54
Mount Warren Park Unit 6 59 53
East Bendigo - Kennington Unit 79 131 52
Jimboomba Unit 4 56 52
Pakenham - South Unit 27 78 51
Croydon - West Unit 41 91 50
Edens Landing - Holmview Unit 0 49 49
Banjup Unit 5 54 49
Newnham - Mayfield Unit 18 67 49
Raymond Terrace Unit 64 112 48
Colac Unit 39 86 47
Springfield Lakes Unit 3 49 46
Salisbury North Unit 10 56 46
Morphett Vale - East Unit 39 85 46
Maryland - Fletcher - Minmi Unit 17 62 45
Melton Unit 14 59 45
Kingston (Qld.) Unit 49 94 45
Morayfield - East Unit 6 51 45
Kirwan - West Unit 27 72 45
Eaton - Pelican Point Unit 10 55 45
Wantirna Unit 3 47 44
Mooroolbark Unit 29 72 43
Albury - East Unit 143 184 41
Knoxfield - Scoresby Unit 10 51 41
Albany Unit 65 106 41
Wakerley Unit 0 40 40
Cashmere Unit 3 43 40
Clarkson Unit 30 70 40
Hallam Unit 3 42 39
Leichhardt - One Mile Unit 37 75 38
Woodridge Unit 151 189 38
The Hills District Unit 28 66 38
Windsor - Bligh Park Unit 77 114 37
Somerville Unit 3 40 37
Raceview Unit 42 79 37
Highfields Unit 4 41 37
Geraldton - East Unit 14 51 37
Latrobe Unit 6 43 37
Riverstone - Marsden Park Unit 14 50 36
Collinsville Unit 10 46 36
Deeragun Unit 27 63 36
Bonython Unit 14 50 36
Murarrie Unit 34 69 35
Crestmead Unit 3 38 35
Palmerston Unit 4 39 35
Runcorn Unit 52 86 34
Ooralea - Bakers Creek Unit 4 38 34
Bald Hills Unit 3 36 33
Aitkenvale Unit 69 102 33
Sunnybank Unit 21 53 32
Cobbitty - Leppington Unit 17 48 31
Norman Gardens Unit 117 148 31
Reedy Creek - Andrews Unit 0 31 31
Mount Barker Unit 50 81 31
Balcatta - Hamersley Unit 29 60 31
Monash Unit 3 34 31
Wynyard Unit 7 37 30
Airport West Unit 67 96 29
Gisborne Unit 4 33 29
Riverton - Shelley - Rossmoyne Unit 50 79 29
Boulder Unit 26 55 29
Hampton Park - Lynbrook Unit 48 76 28
Mooroopna Unit 37 65 28
Park Avenue Unit 38 66 28
Loganholme - Tanah Merah Unit 0 28 28
Narangba Unit 0 28 28
Wyndham Vale Unit 20 47 27
Kalamunda - Maida Vale - Gooseberry Hill Unit 5 32 27
Carina Heights Unit 127 153 26
Kalgoorlie - North Unit 38 64 26
Endeavour Hills - South Unit 0 25 25
Bundoora - West Unit 37 61 24
Coomera Unit 155 179 24
Ripley Unit 0 24 24
Padbury Unit 0 24 24
Bateman Unit 0 24 24
Warnervale - Wadalba Unit 3 26 23
Churchill - Yamanto Unit 5 27 22
Morphett Vale - West Unit 18 40 22
Duncraig Unit 8 30 22
Greenwood - Warwick Unit 4 26 22
Amaroo Unit 5 27 22
Nicholls Unit 6 28 22
Truganina Unit 29 50 21
Browns Plains Unit 20 41 21
Ross Unit 7 28 21
Lara Unit 37 57 20
Beaconsfield - Officer Unit 0 20 20
Craigie - Beldon Unit 0 20 20
Girrawheen Unit 11 31 20
Coogee Unit 3 23 20
Mount Annan - Currans Hill Unit 5 24 19
South Morang (North) Unit 3 22 19
Dingley Village Unit 0 19 19
Marsden Unit 84 103 19
Heatley Unit 23 42 19
Morley Unit 49 68 19
Calwell Unit 0 19 19
Wagga Wagga - North Unit 21 39 18
Ferntree Gully (South) - Upper Ferntree Gully Unit 34 52 18
Bundaberg Region - North Unit 12 30 18
Margaret River Unit 21 39 18
Woodend Unit 9 26 17
Parkinson - Drewvale Unit 3 20 17
Kelso Unit 14 31 17
Leeming Unit 0 17 17
Meadow Heights Unit 50 66 16
Seabrook Unit 0 16 16
Melton West Unit 30 46 16
Bli Bli Unit 15 31 16
Nairne Unit 3 19 16
Golden Grove Unit 3 19 16
Coober Pedy Unit 0 16 16
Forrestfield - Wattle Grove Unit 4 20 16
Sorell - Richmond Unit 15 31 16
Quoiba - Spreyton Unit 0 16 16
Watsonia Unit 19 34 15
Mill Park - South Unit 22 37 15
Mulgrave Unit 41 56 15
Busselton Region Unit 14 29 15
Anna Bay Unit 8 22 14
Macquarie Fields - Glenfield Unit 41 55 14
Leopold Unit 10 24 14
Ringwood North Unit 12 26 14
Lilydale - Coldstream Unit 68 82 14
Mount Dandenong - Olinda Unit 0 14 14
Clarinda - Oakleigh South Unit 28 42 14
Parkhurst - Kawana Unit 54 68 14
Geraldton - South Unit 15 29 14
Claymore - Eagle Vale - Raby Unit 7 20 13
Rosedale Unit 0 13 13
Vermont Unit 39 52 13
Koo Wee Rup Unit 3 16 13
Svensson Heights - Norville Unit 49 62 13
Madeley - Darch - Landsdale Unit 3 16 13
Marangaroo Unit 0 13 13
Skye - Sandhurst Unit 4 16 12
Arundel Unit 41 53 12
Inala - Richlands Unit 106 118 12
Beerwah Unit 38 50 12
Pinjarra Unit 6 18 12
Bonner Unit 13 25 12
Murray Bridge Unit 70 81 11
Florey Unit 16 27 11
Hadfield Unit 32 42 10
Happy Valley Unit 3 13 10
Warnbro Unit 5 15 10
Palmerston - North Unit 23 33 10
Callala Bay - Currarong Unit 11 20 9
Nunawading Unit 147 156 9
Gawler - North Unit 9 18 9
Green Valley Unit 9 17 8
Lowood Unit 33 41 8
Hillcrest Unit 18 26 8
Kariong Unit 10 17 7
Niddrie - Essendon West Unit 81 88 7
Gladstone Park - Westmeadows Unit 23 30 7
Telina - Toolooa Unit 51 58 7
Romaine - Havenview Unit 22 29 7
Maitland - North Unit 12 18 6
Taree Region Unit 22 28 6
Carrum Downs Unit 72 78 6
Alexandra Hills Unit 49 55 6
Mount Louisa Unit 10 16 6
Mundingburra Unit 75 81 6
Jingili Unit 11 17 6
Condell Park Unit 51 56 5
Wattle Glen - Diamond Creek Unit 14 19 5
Keilor East Unit 95 100 5
Oxenford - Maudsland Unit 18 23 5
Ipswich - North Unit 13 18 5
Kirwan - East Unit 79 84 5
Collie Unit 22 27 5
Baldivis Unit 9 14 5
Narrogin Unit 19 24 5
Delacombe Unit 15 19 4
Rowville - Central Unit 51 55 4
Darra - Sumner Unit 24 28 4
Charles Unit 91 95 4
Forde Unit 19 23 4
West Hoxton - Middleton Grange Unit 19 22 3
Falcon - Wannanup Unit 20 23 3
Greenfields Unit 30 33 3
Wanneroo Unit 21 24 3
Cooloongup Unit 16 19 3
Kambalda - Coolgardie - Norseman Unit 58 61 3
Templestowe Lower Unit 59 61 2
Collingwood Park - Redbank Unit 37 39 2
Katanning Unit 25 27 2
Somerset Unit 18 20 2
Alexandra Unit 26 27 1
Nuriootpa Unit 21 22 1
Armadale - Wungong - Brookdale Unit 172 173 1
Acton - Upper Burnie Unit 22 23 1
Lawson House 60 82 22
Melbourne House 73 82 9

4 Airbnb data

Data prep focusing on monthly income generated on SA2 level.

Raw datasets consist of 359,300 properties and 6,547,439 monthly stats.

4.1 Data preparation

4.1.1 Selection

325,967 data points from before 2016-01-01 were excluded.

101,329 data points of listing_type “Shared room” and 2,304,488 data points of “Private room” were excluded.

480 records of 26 properties located in remote areas were excluded.

Next, 15,189 records of 847 properties located in 104 areas where no APM data is available

Next, 4,123 monthly records of 4,008 properties that had zero AUD income but some information in USD had income recalculated using 1.4 exchange rate.

Next, 3 monthly records of 3 properties that had missing AUD income but some information in USD had income recalculated using 1.4 exchange rate.

4.1.2 Outliers

There are few ouliers in terms of monthly income

## # A tibble: 36 x 7
##    property_id reporting_month reservation_days revenue_usd revenue_native
##          <dbl> <date>                     <dbl>       <dbl>          <dbl>
##  1     6382471 2018-05-01                     3        249          677160
##  2     6382471 2018-04-01                     1         83          225720
##  3    14999741 2018-10-01                    30     148560          209700
##  4    14999741 2018-05-01                    27     146529          188730
##  5    14999741 2019-01-01                    27     136782          188730
##  6    14999741 2018-07-01                    26     134498          181740
##  7    14999741 2018-12-01                    26     128206          181740
##  8    14999741 2019-02-01                    26     129480          181740
##  9     4144830 2016-12-01                    22       2196.         176347
## 10    14999741 2018-08-01                    24     120648          167760
## # ... with 26 more rows, and 2 more variables: adr_usd <dbl>, adr_native <dbl>

From the top monthly income values (with income above $95k) data with very high AUD income were corrected using USD values.

One very high value was replaced to average ADR * booked days from previous & next month from the same property.

Three very high monthly values were recalculated from more realistic ADR (in USD) indicators.

4.1.3 Inactive listings

Over third of monthly records is labelled as not active.

## 
## active <lgl>
## # total N=3941540  valid N=3941540  mean=0.62  sd=0.49
## 
##    val     frq raw.prc valid.prc cum.prc
##   TRUE 2439163   61.88     61.88   61.88
##  FALSE 1502377   38.12     38.12  100.00
##   <NA>       0    0.00        NA      NA

All of them were excluded. That also applied to records where there was some information about the revenue (either AUD or USD; n = 1,128) or number of available days was indicated to be > 0 (n = 448,859). For the former group, that could indicate some reshufling of money from previous months? For the latter group - this doesnt make sense but at least none of these records has any reservations and there are not much money involved.

4.1.4 Missing revenue info

628,370 records of 105,318 properties with missing info on revenue_native were recoded to zero.

property_id reporting_month reservation_days revenue_native
12936 2016-01-01 12 3082.12
12936 2016-02-01 0 NA
12936 2016-03-01 0 NA
12936 2016-04-01 0 NA
12936 2016-05-01 0 NA
12936 2016-06-01 0 NA
12936 2016-07-01 0 NA
12936 2016-08-01 0 NA
12936 2016-09-01 0 NA
12936 2016-10-01 0 NA
12936 2016-11-01 0 NA
12936 2016-12-01 3 671.89

After correction it looks like:

property_id reporting_month reservation_days revenue_native
12936 2016-01-01 12 3082.12
12936 2016-12-01 3 671.89
12936 2017-01-01 5 998.78
12936 2017-02-01 0 0.00
12936 2017-03-01 0 0.00
12936 2017-04-01 0 0.00
12936 2017-05-01 0 0.00
12936 2017-06-01 0 0.00
12936 2017-07-01 0 0.00
12936 2017-12-01 8 1208.80
12936 2018-01-01 14 1864.76
12936 2018-02-01 5 769.49

4.1.5 0 bedrooms

11,214 properties with 0 bedrooms were recoded to have 1 bedroom.

4.1.6 Property type

Analysed properties come in different flavours

## 
## property_type <character>
## # total N=2439163  valid N=2439138  mean=35.49  sd=30.85
## 
##                             val    frq raw.prc valid.prc cum.prc
##                       Apartment 893883   36.65     36.65   36.65
##                           House 876897   35.95     35.95   72.60
##                       Townhouse  83286    3.41      3.41   76.01
##                         Cottage  70485    2.89      2.89   78.90
##                     Guest suite  68681    2.82      2.82   81.72
##                      Guesthouse  61447    2.52      2.52   84.24
##                Entire apartment  48333    1.98      1.98   86.22
##                           Villa  46257    1.90      1.90   88.12
##                    Entire house  42642    1.75      1.75   89.86
##                           Cabin  41546    1.70      1.70   91.57
##                     Condominium  36773    1.51      1.51   93.08
##                        Bungalow  29406    1.21      1.21   94.28
##              Serviced apartment  24898    1.02      1.02   95.30
##                       Farm stay  22305    0.91      0.91   96.22
##                            Loft  14413    0.59      0.59   96.81
##                          Chalet  12044    0.49      0.49   97.30
##               Bed and breakfast  11074    0.45      0.45   97.75
##                           Place   6926    0.28      0.28   98.04
##                       Camper/RV   4739    0.19      0.19   98.23
##                      Tiny house   3368    0.14      0.14   98.37
##                Entire townhouse   3174    0.13      0.13   98.50
##                     Earth house   2511    0.10      0.10   98.60
##                            Boat   2484    0.10      0.10   98.71
##                            Tent   2297    0.09      0.09   98.80
##                           Other   2179    0.09      0.09   98.89
##                   Vacation home   2167    0.09      0.09   98.98
##                    Entire villa   2014    0.08      0.08   99.06
##                 Bed & Breakfast   1855    0.08      0.08   99.14
##                            Barn   1525    0.06      0.06   99.20
##                    Entire place   1451    0.06      0.06   99.26
##                        Campsite   1396    0.06      0.06   99.32
##                    Entire cabin   1349    0.06      0.06   99.37
##            Entire vacation home   1326    0.05      0.05   99.43
##                             Hut   1261    0.05      0.05   99.48
##                       Treehouse   1167    0.05      0.05   99.53
##                           Train   1024    0.04      0.04   99.57
##                 Entire bungalow    823    0.03      0.03   99.60
##               Entire guesthouse    635    0.03      0.03   99.63
##                    Nature lodge    617    0.03      0.03   99.65
##          Entire bed & breakfast    554    0.02      0.02   99.68
##                            Tipi    515    0.02      0.02   99.70
##                            Yurt    490    0.02      0.02   99.72
##              Entire guest suite    472    0.02      0.02   99.74
##                          Island    417    0.02      0.02   99.75
##                   Entire chalet    378    0.02      0.02   99.77
##                          Resort    367    0.02      0.02   99.78
##                          Castle    358    0.01      0.01   99.80
##              Room in aparthotel    340    0.01      0.01   99.81
##                     Entire loft    336    0.01      0.01   99.83
##                      Dome house    304    0.01      0.01   99.84
##          Room in boutique hotel    300    0.01      0.01   99.85
##              Entire condominium    269    0.01      0.01   99.86
##                     Entire tent    260    0.01      0.01   99.87
##                       Houseboat    241    0.01      0.01   99.88
##                Entire camper/RV    218    0.01      0.01   99.89
##       Entire serviced apartment    211    0.01      0.01   99.90
##                           Floor    206    0.01      0.01   99.91
##                            Cave    204    0.01      0.01   99.92
##                       Timeshare    177    0.01      0.01   99.92
##                        Home/apt    169    0.01      0.01   99.93
##                          Hostel    168    0.01      0.01   99.94
##        Entire bed and breakfast    158    0.01      0.01   99.94
##             Bed &amp; Breakfast    148    0.01      0.01   99.95
##                             Bus    101    0.00      0.00   99.95
##                   Room in hotel     98    0.00      0.00   99.96
##                     Entire boat     91    0.00      0.00   99.96
##           Entire boutique hotel     91    0.00      0.00   99.97
##                  Boutique hotel     90    0.00      0.00   99.97
##                           Igloo     80    0.00      0.00   99.97
##                   Entire in-law     65    0.00      0.00   99.98
##             Entire nature lodge     64    0.00      0.00   99.98
##                      Lighthouse     64    0.00      0.00   99.98
##                            Dorm     51    0.00      0.00   99.98
##              Entire earth house     51    0.00      0.00   99.98
##                     Earth House     47    0.00      0.00   99.99
##                  Entire cottage     39    0.00      0.00   99.99
##                     Entire tipi     38    0.00      0.00   99.99
##                     Entire yurt     38    0.00      0.00   99.99
##                    Entire Floor     32    0.00      0.00   99.99
##                 Casa particular     27    0.00      0.00   99.99
##                Entire timeshare     27    0.00      0.00   99.99
##                          In-law     27    0.00      0.00  100.00
##                Entire treehouse     24    0.00      0.00  100.00
##                     Entire dorm     19    0.00      0.00  100.00
##  Room in heritage hotel (india)     18    0.00      0.00  100.00
##                           Plane     15    0.00      0.00  100.00
##                            Flat     11    0.00      0.00  100.00
##                     Entire cave      8    0.00      0.00  100.00
##                      Entire hut      3    0.00      0.00  100.00
##                         Pousada      1    0.00      0.00  100.00
##                            <NA>     25    0.00        NA      NA

Classification of properties was simplified to house and apartment

property_type property_type_new
Apartment Unit
House House
Townhouse House
Entire apartment Unit
Bed and breakfast NA
Guest suite NA
Entire house House
Guesthouse House
Villa House
Cottage House
Private room in house NA
Private room in apartment NA
Condominium Unit
Cabin House
Bungalow House
Serviced apartment Unit
Farm stay NA
Bed & Breakfast NA
Loft Unit
Chalet House
Other NA
Private room NA
Room in boutique hotel NA
Hostel NA
Place NA
Private room in townhouse NA
Entire townhouse House
Camper/RV NA
Tent NA
Bed &amp; Breakfast NA
Nature lodge NA
Room in hotel NA
Boat NA
Vacation home House
Private room in bed & breakfast NA
Shared room in apartment NA
Tiny house NA
Entire villa House
Earth house NA
Resort NA
Dorm NA
Entire place NA
Entire vacation home House
Entire cabin House
Room in aparthotel NA
Private room in bed and breakfast NA
Campsite NA
Shared room in house NA
Private room in villa NA
Hut House
Treehouse NA
Barn House
Private room in guest suite NA
Camper/rv NA
Entire bungalow House
Private room in guesthouse NA
Boutique hotel NA
Entire guesthouse House
Tipi NA
Train NA
Private room in condominium NA
Entire guest suite NA
Entire condominium Unit
Yurt NA
Entire bed & breakfast NA
Castle House
Shared room NA
Private room in boutique hotel NA
Island NA
Entire chalet House
Entire serviced apartment Unit
Entire loft Unit
Private room in cabin NA
Entire camper/RV NA
Private room in hostel NA
Dome house House
Private room in bungalow NA
Floor NA
Timeshare NA
Private room in dorm NA
Entire tent NA
Shared room in dorm NA
Private room in serviced apartment NA
Shared room in townhouse NA
Earth House NA
Entire Floor NA
Shared room in hostel NA
Private room in loft NA
Cave NA
Houseboat NA
Private room in vacation home NA
Private room in camper/rv NA
Entire boat NA
Shared room in condominium NA
Entire bed and breakfast NA
Shared room in villa NA
Private room in tent NA
Entire boutique hotel NA
Home/apt NA
Casa particular (cuba) House
Private room in boat NA
Igloo NA
Shared room in loft NA
Private room in nature lodge NA
Entire timeshare NA
In-law NA
Entire in-law NA
Shared room in guesthouse NA
Bus NA
Shared room in bed & breakfast NA
Entire nature lodge NA
Private room in chalet NA
Lighthouse NA
Entire cottage House
Entire earth house NA
Parking Space NA
Entire tipi NA
Entire dorm NA
Entire yurt NA
Entire treehouse NA
Private room in hut NA
Casa particular House
Hotel NA
Private room in earth house NA
Shared room in guest suite NA
Private room in timeshare NA
Room in heritage hotel (india) NA
Private room in cottage NA
Private room in heritage hotel (india) NA
Private room in yurt NA
Shared room in nature lodge NA
Private room in treehouse NA
Aparthotel NA
Private room in in-law NA
Private room in farm stay NA
Shared room in bed and breakfast NA
Shared room in tipi NA
Shared room in tent NA
Private room in floor NA
Plane NA
Flat Unit
Shared room in vacation home NA
Shared room in boutique hotel NA
Private room in island NA
Shared room in boat NA
Shared room in cottage NA
Van NA
Entire cave NA
Private room in parking space NA
Ryokan (japan) NA
Private room in tipi NA
Entire hut House
Heritage hotel (india) NA
Minsu (taiwan) NA
Shared room in camper/rv NA
Private room in aparthotel NA
Private room in castle NA
Private room in tiny house NA
Pousada NA
Shared room in cave NA
Shared room in serviced apartment NA
Shared room in in-law NA
Trullo (italy) NA

140,643 ambiguous/imprecise monthly records of 9,959 properties were excluded

## 
## property_type <character>
## # total N=2298520  valid N=2298520  mean=1.44  sd=0.50
## 
##    val     frq raw.prc valid.prc cum.prc
##  House 1279393   55.66     55.66   55.66
##   Unit 1019127   44.34     44.34  100.00
##   <NA>       0    0.00        NA      NA

4.2 Prepared dataset

Final dataset consists of 2,298,520 monthly records of 202,862 properties in 2,040 SA2 areas.

4.2.1 property_type vs bedrooms

Properties in Airbnb and APM come in different sizes. It is possible to investigate it in the former dataset but not the latter. This might be potential weakness since the rents & ADR must be somehow realted to size.

bedrooms House Unit Total
1 13% (12777) 46% (46259) 29% (59036)
2 22% (22884) 44% (44107) 33% (66991)
3 35% (35285) 9% (9482) 22% (44767)
4 22% (22347) 1% (927) 11% (23274)
5 6% (6422) 0% (121) 3% (6543)
6 1% (1456) 0% (47) 1% (1503)
7 0% (386) 0% (13) 0% (399)
8 0% (142) 0% (3) 0% (145)
9 0% (51) 0% (3) 0% (54)
10 0% (54) 0% (6) 0% (60)
11 0% (7) 0% (0) 0% (7)
12 0% (7) 0% (0) 0% (7)
13 0% (3) 0% (0) 0% (3)
14 0% (7) 0% (1) 0% (8)
15 0% (3) 0% (1) 0% (4)
16 0% (1) 0% (0) 0% (1)
19 0% (1) 0% (0) 0% (1)
20 0% (2) 0% (0) 0% (2)
22 0% (1) 0% (0) 0% (1)
26 0% (1) 0% (0) 0% (1)
30 0% (0) 0% (1) 0% (1)
NA 0% (20) 0% (34) 0% (54)
Total 100% (101857) 100% (101005) 100% (202862)

4.2.2 SA2 areas

Locations of Airbnb properties (points) were linked to ABS data of SA2 areas from 2016. Spatial join in ArcGIS was used with CLOSEST option to capture locations that did not overlap with polygons (see example here https://www.airbnb.com/rooms/19103554 - due to privacy reasons, locations are not exact).

248 SA2s (out of 2288) have no Airbnbs inside.

Few of this areas have some info in APM data.

Houses (n = 53):

Units (n = 25):

Supply & income of Airbnbs inside these areas will be later fixed to zero.

4.2.3 Income of properties

4.2.3.1 Individual revenue

Each property has a ‘trajectory’ of income data. But not all properties have info on all months.. therefore not all SA2s will have income info for all months..

Such coverage issue also applies to ADR.

Note that when income is 0 AUD, ADR is (obviously) missing!

4.2.3.2 SA2 revenue

Individual properties’ ADR with smoothed trend:

Monthly aggregated data with monthly medians of ADR:

4.2.3.3 Averages from last 12 months

4.2.3.4 ‘Filling’ time series

Areas where no income was reported during specific reporting month had those months filled with 0 AUD.

Result is in the form of ‘income curves’ with 97767 data points of Airbnb revenue for 2288 areas.

4.2.3.5 Missing data

Not all SA2s have information for all months. 16,582 of the records (17%) have missing information on monthly median ADR.

4.2.3.5.1 Completely missing information
4.2.3.5.2 Houses

There are 79 SA2 areas that do not have any Airbnb data for houses

These areas are excluded.

4.2.3.5.3 Units

There are 277 SA2 areas that do not have any Airbnb data for units

These areas are excluded.

4.2.3.6 Partly missing information

4.2.3.6.1 Houses

There are 242 SA2 areas that have missing 12 or more months of Airbnb data or have 6 or more consecutive months of Airbnb data missing for houses

These areas are excluded.

4.2.3.6.2 Units

There are 217 SA2 areas that have missing 12 or more months of Airbnb data or have 6 or more consecutive months of Airbnb data missing for units

These areas are excluded.

4.2.3.7 Imputing time series

4.2.3.7.1 Houses

There are 120 SA2 areas that have some missing Airbnb data for houses

These areas have data imputed.

4.2.3.7.2 Units

There are 95 SA2 areas that have some missing Airbnb data for units

These areas have data imputed.

4.2.3.7.3 Example

Data imputed using Stineman interpolation using na_interpolation function from imputeTS package.

4.2.3.8 ADR in SA2

Unit

House

State on 2016-12-01 vs 2019-02-01 houses

State on 2016-12-01 vs 2019-02-01 units

##            used  (Mb) gc trigger   (Mb)  max used   (Mb)
## Ncells  3863322 206.4    7171400  383.0   7171400  383.0
## Vcells 66402005 506.7  187470928 1430.3 593047525 4524.6

4.2.4 Supply & demand of properties

Denomionator for the following two measures was derived from ABS data described above.

Note that this denominator is a ‘static’ variable without temporal variation.

4.2.4.1 Binary

This is naive indicator that takes into account all active properties listed in given month in SA2 irrespectively if they were used or not. Example of one area values

4.2.4.1.1 ‘Filling’ time series and dealing with zeroes

Areas where no properties were listed during specific reporting month had those months filled with 0. Relative measure for each month was calculated using number of properties (numerator) and ABS Census stocks of given property type (denominator).

Areas with zero stocks of listings had this measure fixed to zero.

Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.

Result is in the form of ‘supply curves’ with 106628 data points of Airbnb counts for 2288 areas.

4.2.4.1.2 Total properties in SA2

Unit

House

State on 2019-02-01

4.2.4.1.3 Relative properties in SA2

Unit

House

State on 2019-02-01

‘No numbers’ of relative supply, Airbnb supply > 0, ABS stock == 0

‘Large numbers’ relative supply of >= 1, ABS stock > 0

‘Normal numbers’ relative supply of < 1, ABS stock > 0

4.2.4.2 Guest Nights Available (GNA)

This is a bit more elaborate indicator that takes into account all active properties listed in given month in SA2 and uses their available_days as measure.

4.2.4.2.1 ‘Filling’ time series and dealing with zeroes

Areas where no properties were listed during specific reporting month had those months filled with 0. Relative measure for each month was calculated using number of available_days (numerator) and ABS Census stocks of given property type multiplied by number of days in a given month (denominator).

Areas with zero stocks of census properties and zero propoerties had this measure fixed to zero.

Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.

Result is in the form of ‘GNO curves’ with 106628 data points of Airbnb counts for 2288 areas.

4.2.4.2.2 Total GNA in SA2

Unit

House

State on 2019-02-01

4.2.4.2.3 Relative GNA in SA2

Unit

House

State on 2019-02-01

‘No numbers’ of relative supply, Airbnb supply > 0 ABS stock == 0

‘Large numbers’ relative supply of >= 1, ABS stock > 0

‘Normal numbers’ relative supply of < 1, ABS stock > 0

4.2.4.3 Guest Nights Occupied (GNO)

This is again bit more elaborate indicator that takes into account all active properties listed in given month in SA2 and uses their reservation_days as measure.

Number of reservation days:

4.2.4.3.1 ‘Filling’ time series and dealing with zeroes

Areas where no properties were listed during specific reporting month had those months filled with 0.

Relative measure for each month was calculated using number of reservation_days (numerator) and ABS Census stocks of given property type multiplied by number of days in a given month (denominator).

Areas with zero stocks of census properties and zero propoerties had this measure fixed to zero.

Areas with zero stocks of census properties and any number of propoerties had this measure fixed to missing.

Result is in the form of ‘GNO curves’ with 106628 data points of Airbnb counts for 2288 areas.

4.2.4.3.2 Total GNO in SA2

Unit

House

State on 2019-02-01

4.2.4.3.3 Relative GNO in SA2

Unit

House

State on 2019-02-01

‘No numbers’ of relative supply, demand_days> 0 & ABS stock == 0

‘Large numbers’ relative supply of >= 1, ABS stock > 0

‘Normal numbers’ relative supply of < 1, ABS stock > 0

5 Session info

## R version 3.6.1 (2019-07-05)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 18362)
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252   
## [3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C                      
## [5] LC_TIME=English_Australia.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] naniar_0.4.2       kableExtra_1.1.0   sjmisc_2.8.2       summarytools_0.9.4
##  [5] skimr_1.0.7        ggridges_0.5.1     tmaptools_2.0-2    tmap_2.3-1        
##  [9] sf_0.8-0           imputeTS_3.0       janitor_1.2.0      readxl_1.3.1      
## [13] scales_1.1.0       lubridate_1.7.4    magrittr_1.5       forcats_0.4.0     
## [17] stringr_1.4.0      dplyr_0.8.3        purrr_0.3.3        readr_1.3.1       
## [21] tidyr_1.0.0        tibble_2.1.3       ggplot2_3.2.1      tidyverse_1.2.1   
## [25] pacman_0.5.1      
## 
## loaded via a namespace (and not attached):
##   [1] colorspace_1.4-1        pryr_0.1.4              ellipsis_0.3.0         
##   [4] class_7.3-15            visdat_0.5.3            sjlabelled_1.1.1       
##   [7] leaflet_2.0.3           rgdal_1.4-7             rprojroot_1.3-2        
##  [10] snakecase_0.11.0        dichromat_2.0-0         rstudioapi_0.10        
##  [13] farver_2.0.1            fansi_0.4.0             xml2_1.2.2             
##  [16] splines_3.6.1           codetools_0.2-16        knitr_1.26             
##  [19] zeallot_0.1.0           jsonlite_1.6            broom_0.5.2            
##  [22] rgeos_0.5-2             shiny_1.4.0             compiler_3.6.1         
##  [25] httr_1.4.1              backports_1.1.5         Matrix_1.2-17          
##  [28] assertthat_0.2.1        fastmap_1.0.1           lazyeval_0.2.2         
##  [31] cli_1.1.0               later_1.0.0             leaflet.providers_1.9.0
##  [34] htmltools_0.4.0         tools_3.6.1             gtable_0.3.0           
##  [37] glue_1.3.1              Rcpp_1.0.3              cellranger_1.1.0       
##  [40] fracdiff_1.4-2          raster_3.0-7            vctrs_0.2.0            
##  [43] urca_1.3-0              nlme_3.1-140            leafsync_0.1.0         
##  [46] crosstalk_1.0.0         insight_0.7.0           lmtest_0.9-37          
##  [49] timeDate_3043.102       lwgeom_0.1-7            xfun_0.11              
##  [52] rvest_0.3.5             mime_0.7                lifecycle_0.1.0        
##  [55] XML_3.98-1.20           zoo_1.8-6               hms_0.5.2              
##  [58] promises_1.1.0          parallel_3.6.1          RColorBrewer_1.1-2     
##  [61] yaml_2.2.0              quantmod_0.4-15         curl_4.2               
##  [64] pander_0.6.3            stringi_1.4.3           highr_0.8              
##  [67] tseries_0.10-47         e1071_1.7-2             checkmate_1.9.4        
##  [70] TTR_0.23-5              rlang_0.4.1             pkgconfig_2.0.3        
##  [73] bitops_1.0-6            matrixStats_0.55.0      evaluate_0.14          
##  [76] lattice_0.20-38         labeling_0.3            rapportools_1.0        
##  [79] stinepack_1.4           htmlwidgets_1.5.1       tidyselect_0.2.5       
##  [82] plyr_1.8.4              R6_2.4.1                magick_2.2             
##  [85] generics_0.0.2          DBI_1.0.0               mgcv_1.8-28            
##  [88] pillar_1.4.2            haven_2.2.0             withr_2.1.2            
##  [91] units_0.6-5             xts_0.11-2              RCurl_1.95-4.12        
##  [94] sp_1.3-2                nnet_7.3-12             modelr_0.1.5           
##  [97] crayon_1.3.4            utf8_1.1.4              KernSmooth_2.23-15     
## [100] rmarkdown_1.17          grid_3.6.1              webshot_0.5.1          
## [103] forecast_8.9            digest_0.6.22           classInt_0.4-2         
## [106] xtable_1.8-4            httpuv_1.5.2            munsell_0.5.0          
## [109] viridisLite_0.3.0       tcltk_3.6.1             quadprog_1.5-7